﻿using Newtonsoft.Json;
using System;

namespace YKPrintService.VO
{
    /**
     * 打印机打印请求参数
     *
     * @author RabyGao
     * @date Aug 7, 2019
     */
    public class PrintRequest : RestRequest
    {
        /**
         * 打印机编号
         */
        private String sn;

        /**
         * 打印内容,不能超过5000字节
         */
        private String content;

        /**
         * 打印份数，默认为1
         */
        private int copies = 1;
        /**
         * 打印模式，默认为0
         */
        private int mode = 0;
        [JsonProperty("sn")]
        public string Sn
        {
            get { return sn; }
            set { sn = value; }
        }
        [JsonProperty("content")]
        public string Content
        {
            get { return content; }
            set { content = value; }
        }
        [JsonProperty("copies")]
        public int Copies
        {
            get { return copies; }
            set { copies = value; }
        }
        [JsonProperty("mode")]
        public int Mode
        {
            get { return mode; }
            set { mode = value; }
        }
        private int? payType;
        /// <summary>
        /// 支付方式41~55：支付宝 微信 ...
        /// </summary>
        [JsonProperty("payType")]
        public int? PayType
        {
            get { return payType; }
            set { payType = value; }
        }
        private int? payMode;
        /// <summary>
        /// 支付与否59~61：退款 到账 消费
        /// </summary>
        [JsonProperty("payMode")]
        public int? PayMode
        {
            get { return payMode; }
            set { payMode = value; }
        }
        private double? money;
        /// <summary>
        /// 支付金额
        /// </summary>
        [JsonProperty("money")]
        public double? Money
        {
            get { return money; }
            set { money = value; }
        }

        private int? voice;
        /// <summary>
        /// 声音播放模式，0 为取消订单模式，1 为静音模式，2 为来单播放模式，默认为 2 来单播放模式
        /// </summary>
        [JsonProperty("voice")]
        public int? Voice
        {
            get { return voice; }
            set { voice = value; }
        }
    }
}
